package com.tedu.day02.oop;

/**
 * final关键字-----最终
 * 作用：修饰类、属性【普通属性+成员变量】、方法
 * 1.final修饰的类----不可被继承，但正常创建对象
 * 语法:修饰符 final class 类名{}
 * 典型的final类：String字符串
 * 2.final修饰方法：不可以重写但是可以重载【锁死方法】
 * 【锁死】  一般用final修饰方法目的：锁住方法.防止继承它的类修改【重点】
 * 语法：修饰符 final 返回值 方法名（）{}
 *
 */
class People{
    public /*final*/ void test(){   //方法：final  重写失败 所谓的锁死
        System.out.println("父类---重写");
    }
}
class Man extends People{
    public final void test(){
        System.out.println("父类---重写");
    }
    public void test(int i,int j){//重载 不受final限制
        System.out.println("父类---重载");
    }
}
class WeMan extends Man{//锁死方法，防止多层继承，重写方法
   /* public void test(){
        System.out.println();
    }*/
}






//final class Eunuch{}
//class People extends Eunuch{}

public class final关键字 {
    public static void main(String[] args) {
        Man man=new Man();
        man.test();//由final修饰的方法【来自于父类】
        man.test(1,1);//重载【拓展：不改变原来的方法】
    }
}
